Skip to content

chore(developer): consolidate api-extractor usage in Developer#16135

Open
mcdurdin wants to merge 1 commit into
masterfrom
chore/developer/14838-consolidate-api-extractor
Open

chore(developer): consolidate api-extractor usage in Developer#16135
mcdurdin wants to merge 1 commit into
masterfrom
chore/developer/14838-consolidate-api-extractor

Conversation

@mcdurdin

Copy link
Copy Markdown
Member
  • Centralize the api-extractor.json files, update usage
  • Support @SInCE
  • Tidy up a few warnings relating to API documentation content

Fixes: #14838
Test-bot: skip

@keymanapp-test-bot

keymanapp-test-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

  • Android
    • Keyman for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KeyboardHarness apk - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample1 apk - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample2 apk - build : all tests passed (no artifacts on BuildLevel "build")
  • Developer
    • Keyman Developer - build : all tests passed (no artifacts on BuildLevel "build")
    • Compiler Regression Tests - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman Developer (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • iOS
    • Keyman for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • Keyboards
    • Test Keyboards - build : all tests passed (no artifacts on BuildLevel "build")
  • macOS
    • Keyman for macOS (.dmg) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for macOS (.pkg) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for macOS (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • Web
    • KeymanWeb Test Home - build : all tests passed (no artifacts on BuildLevel "build")
  • Windows
    • Keyman for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (ARM64) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (x64) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (x86) - build : all tests passed (no artifacts on BuildLevel "build")

* Centralize the api-extractor.json files, update usage
* Support @SInCE
* Tidy up a few warnings relating to API documentation content

Fixes: #14838
Test-bot: skip
@mcdurdin mcdurdin force-pushed the chore/developer/14838-consolidate-api-extractor branch from 407ce71 to d866049 Compare June 24, 2026 12:45

@ermshiperete ermshiperete left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, except I think the paths are wrong in most of the modified build.sh files.


# Notes

These files are used by `typescript_run_api_extractor()` in typescript.inc.sh.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might want to move this sentence to the top of the file. Also, a sentence what api-extractor does or why we do it might be helpful. I guess we're talking about https://api-extractor.com/ ?

We could also reference .github/workflows/api-verification.yml which maybe does a similar thing for the desktop platforms.

@@ -0,0 +1,15 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "$keyman_root/common/tools/api-extractor/api-extractor.base.json",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we would put the variables we replace in uppercase they would be easier to spot.

builder_run_action configure node_select_version_and_npm_ci
builder_run_action build do_build
builder_run_action api api-extractor run --local --verbose
builder_run_action api typescript_run_api_extractor developer/src/kmc-copy main.d.ts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd guess this should be

Suggested change
builder_run_action api typescript_run_api_extractor developer/src/kmc-copy main.d.ts
builder_run_action api typescript_run_api_extractor developer/src/kmc-generate main.d.ts

(similarly in the other build.sh files...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

chore(developer): api target has some warnings

2 participants